﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Dados_;
using Dados_.ClassesDados;

namespace Negocios
{
    [DataObject]
  public class CanalBOMetodos
    {
        [DataObjectMethod(DataObjectMethodType.Insert, true)]
        public bool Insere(CanalBO eBO)
        {
            CanalSQL eSQL = new CanalSQL();
            CanalVO Pvo = new CanalVO();

            Pvo.Nome = eBO.Nome;
            Pvo.Descricao= eBO.Descricao;
            Pvo.Tematica = eBO.Tematica;
            return (eSQL.Insere(Pvo) == 1);
            
        }
        [DataObjectMethod(DataObjectMethodType.Delete, true)]
        public bool Excluir(CanalBO eBO)
        {
            CanalSQL eSQL = new CanalSQL();
            CanalVO Pvo = new CanalVO();
            Pvo.Id = eBO.Id;
            return (eSQL.Excluir(eBO.Id) == 1);
           
        }
        [DataObjectMethod(DataObjectMethodType.Update, true)]
        public bool Atualizar(CanalBO eBO)
        {
            CanalSQL eSQL = new CanalSQL();
            CanalVO Pvo = new CanalVO();

            Pvo.Nome = eBO.Nome;
            Pvo.Id = eBO.Id;
            Pvo.Descricao = eBO.Descricao;
            Pvo.Tematica = eBO.Tematica;

            return (eSQL.Atualizar(Pvo) == 1);
        }
     [DataObjectMethod(DataObjectMethodType.Select, false)]
        public CanalBO Consultar(int id)
        {
            CanalSQL eSQl = new CanalSQL();
            CanalVO Pvo = eSQl.Consultar(id);
            CanalBO eBO = new CanalBO();
            eBO.Id   = Pvo.Id;
            eBO.Nome = Pvo.Nome;
            eBO.Descricao = Pvo.Descricao;
            eBO.Tematica = Pvo.Tematica;

            return eBO;

        }

        [DataObjectMethod(DataObjectMethodType.Select, true)]
        public List<CanalBO> Consultar(String nome, int descrição, string tematica)
        { 
            CanalSQL eSQL = new CanalSQL();
            List<CanalVO> lPvo = eSQL.Consultar(nome, descrição, tematica);
            List<CanalBO> leBO = new List<CanalBO>();
            
            foreach (CanalVO Pvo in lPvo)
            {
               CanalBO eBO = new CanalBO();
               eBO.Id = Pvo.Id;
               eBO.Nome = Pvo.Nome;    
               eBO.Descricao = Pvo.Descricao;
               eBO.Tematica = Pvo.Tematica;
               leBO.Add(eBO);
            }
            return leBO;

            }
                 
       }
}